/**
 * @description 各种正则表达式
 * @param {RegExp} regexp  正则
 * @param {String} holder  提示信息
 * @param {String} message 错误提示信息
 */
export default {
  map: {
    url: { // url
      regexp: /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/,
      holder: "url合法性",
      message: "不是合法的url"
    },
    phone: { // 手机号
      regexp: /^[1][3,4,5,7,8][0-9]{9}$/,
      holder: "11位数字",
      message: "不是有效的手机号"
    },
    email: { // 邮件
      holder: "如:xx@163.com",
      regexp: /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/,
      message: "错误的邮箱格式"
    },
    userName: { // 用户名
      message: "用户名格式不正确",
      holder: "请填写用户名",
      regexp: /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,32}$/
    },
    realName: { // 姓名
      message: "姓名格式不正确",
      holder: "请填写姓名",
      regexp: /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,32}$/
    },
    discount: { // 折扣
      message: "请输入0到1的数",
      regexp: /^[0-1]$|^0\.[0-9]+$/
    },
    areaNum: { // 数字
      message: "营业面积格式不正确",
      holder: "数字",
      regexp: /^\d{1,16}$/
    },
    brank: { // 银行名称
      message: "请填写正确的开户银行",
      holder: "银行名称",
      regexp: /^[\u4e00-\u9fa5]{0,}$/
    },
    fixedPhone: { // 固定电话
      message: "请填写正确的固话",
      holder: "如:0527-88105500",
      regexp: /\d{3}-\d{8}|\d{4}-\d{7}/
    },
    zipCode: { // 邮编
      message: "请填写正确的邮编",
      holder: "邮政编码",
      regexp: /[1-9]\d{5}(?!\d)/
    },
    expirationDate: { // 保质期
      message: "保质期格式不正确",
      holder: "正整数",
      regexp: /^[1-9]\d*$/
    },
    Remind: { // 提醒天数
      message: "临期提醒天数格式不正确",
      holder: "正整数",
      regexp: /^[1-9]\d*$/
    },
    orderQuantity: { // 最大订货量
      message: "最大订货量格式不正确",
      holder: "数字",
      regexp: /^[1-9]\d*|0$/
    },
    than: { // 大于0的数字
      message: "请填写正确的周期",
      holder: "大于0的整数",
      regexp: /^\+?[1-9]\d*$/
    },
    thane: {
      message: "请输入正确格式的数字",
      holder: "数字",
      regexp: /^(-?)\d+(\.\d+)?$/
    },
    byte: { // 备注
      message: "限200字符",
      holder: "限200字符",
      regexp: /^.{0,200}$/ // ^([\u4e00-\u9fa5]|[0-9]|[,]|[<U+FF0C>]|[<U+201C>]){0,200}$
    },
    number: { // 数字
      message: "请输入正确格式的数字",
      holder: "数字",
      regexp: /^[0-9]*$/
    },
    num: { // 大于等于0的整数或小数
      message: "请输入正确格式的数字",
      holder: "",
      regexp: /^(\+?)\d+(\.\d+)?$/
    },
    Chinese: { // 汉字
      message: "请输入正确格式的汉字",
      holder: "汉字",
      regexp: /^[\u4e00-\u9fa5]+$/
    },
    character: { // 字母
      message: "请输入正确格式的字母",
      holder: "字母",
      regexp: /^[A-Za-z]+$/
    },
    cn: { // 字母、数字
      message: "输入不规范",
      holder: "字母、数字",
      regexp: /^[A-Za-z0-9]+$/
    },
    cnn: { // 6-12位字母、数字组合
      message: "输入不规范",
      holder: "6-12位字母、数字",
      regexp: /^[A-Za-z0-9]{6,12}$/
    },
    cnn3: { // 1-3位字母、数字组合
      message: "输入不规范",
      holder: "1-13位字母、数字",
      regexp: /^[A-Za-z0-9]{1,3}$/
    },
    Cc: { // 汉字、字母
      message: "输入不规范",
      holder: "汉字、字母",
      regexp: /^[a-zA-Z\u4e00-\u9fa5]+$/
    },
    Cn: { // 汉字、数字
      message: "输入不规范",
      holder: "汉字、数字",
      regexp: /^[\u4e00-\u9fa5a-zA-Z][\u4e00-\u9fa5a-zA-Z\d]+$/
    },
    Ccn: { // 汉字、字母、数字
      message: "输入不规范",
      holder: "汉字、字母、数字",
      regexp: /^[\u4E00-\u9FA5A-Za-z0-9]+$/
    },
    Ccnd: { // 汉字、字母、数字、下划线
      message: "输入不规范",
      holder: "汉字、字母、数字、下划线",
      regexp: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/
    },
    cnd: { // 字母、数字、下划线
      message: "输入不规范",
      holder: "字母、数字、下划线",
      regexp: /^\w+$/
    },
    clientCode: { // 客户编号
      message: "客户编号格式不正确",
      regexp: /^[A-Za-z0-9_]+$/
    },
    clientName: { // 客户名称
      message: "客户名称格式不正确",
      regexp: /^[\u4E00-\u9FA5\w\d]+$/
    },
    postcode: { // 邮编格式
      message: "邮编格式不正确",
      regexp: /^[1-9][0-9]{5}$/
    },
    tel: { // 固定电话
      message: "固定电话格式不正确",
      regexp: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/
    },
    fax: { // 传真
      message: "传真格式不正确",
      holder: "传真",
      regexp: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/
    },
    cl: { // 最多输入20个字符
      message: "最多输入20个字符",
      holder: "最多输入20个字符",
      regexp: /^.{1,20}$/
    },
    cl15: { // 最多输入15个字符
      message: "最多输入15个字符",
      holder: "最多输入15个字符",
      regexp: /^.{1,15}$/
    },
    nums: { // 1-50000整数
      regexp: /^(?:[1-9]|[1-9]\d{1,2}|[1-4]\d{3}|50000)$/,
      holder: "1~50000的数字",
      message: "不在范围内"
    },
    prcents: {
      regexp: /^(0|([1-9]\d?(\.\d+)?)|100)$/,
      holder: "0~100的数字",
      message: "不在范围内"
    }
  }
};
